NLP Automated Collocation Suggestion for Japanese Second Language Learners

NLP Automated Collocation Suggestion for Japanese Second Language Learners

tags: references, NLP

論文網址

Collocation簡介:當使用bigram處理一串文字時,要如何知道這個bigram是有意義的?(代表這兩個tokens經常一起出現,Note:不是兩個字 一起才有意義)
通常有三種測量方法

  • 使用token的mean,variance(deviation)看兩字經常出現的相對固定位置
  • 使用虛無假設:假設兩個字彼此獨立,期望透過significant level來拒絕此假設
  • 交互訊息:看兩個字的相對關係

    名詞方法簡介

  1. Collocation 如上述
  2. Automatic grammatical error correction 自動語言偵測錯誤
  3. word similarity measures 單詞相似性度量
  4. collocation candidate 搭配候選詞
  5. wordNet:可用來對每一個字串產生同意義(synonymms)的字串
  6. first language:語言學習者的第一語言(對我們來說中文)
  7. correction : 當成ground truth
  8. learner/writer : 當成input
  9. noun wo verb : 本文特定focus的句型(語法)
  10. alternative : 替代方案
  11. confusion set : 混亂集

    0 大綱

    學日語的人儘管寫出語意上正確的句子但可能“不自然”,希望能夠創造一個系統讓日語學習者自動搭配文法。
    方法是使用不同的語料搭配和單詞相似度(word similarity)方法去分析正確的單詞組合。
    此文的方法比其他模型更一般,儘管其他模型使用較完美訓練資料;
    而此文使用大型日語資料,但此文取得較好效果。

1 介紹

訂正機器的語法錯誤是常見的NLP問題,而另一篇論文[Gamon]只注重在data error(noise)

Collocation 在日語中是普遍現象,但在機器上並非如此,因為語言對文字的使用方法不同。
不好的範例:
一般日文的使用
yume wo miru [lit. to see a dream]
但日語學習者常會使用
yume wo suru [lit. do a dream]
suru 在英語上表示 do, 但 miru 常代表 to see.
故這篇文章希望能夠透過分析多種日文語料庫去給予最佳的文法搭配給日語學習者。
為了讓模型學到這類更為細部的結構資訊,我們使用單詞相似性度量(word similarity),這些度量使用大型日語學習者語料庫去生成搭配候選詞(Candidate)。

2 相關資訊

Collocation在訓練時通常將學習者的單詞與文本生成的混亂集去做比較 ,如果一個或多個替代方案(alternative)更適合上下文,則標記錯誤,並且建議其更正文法,並且利用測量方法去排序最好的替代方案。
本篇使用與一般方法相同,但我們使用了更大的語料庫去取代原本的well-formed text去產生混亂集。

而為了使confusion的組合數目不要過大,通常使用similarity measure。
為了找到最適合的組合,需要考量句子結構和被產生的alternative結構。
ex:wordNet:可用來對每一個字串產生同意義的字串

  1. 使用wordnet和(rank ration measure),再算他們的semantic similarity(scoring)
  2. 使用wordnet和Pointwise Mutual information當成測量排名方法
  3. 使用bilingual dictionaries(字典集)來找collocation,使用log-likelihood測排名(但是此方法受限於字典及大小,詞庫或手動建構數據庫)

本文使用:similarity來產生confusion的集合,和比較相關度來ranking

在本篇論文,主要關注在noun-を-verb,總共有三個步驟:
(1) 由於兩語言字用法不同,對於日語學習者文章中的每一個token,利用word similarity去創建一組候選詞語
(2) 我們用association measures計算關聯性在使用者的詞語和候選詞語的collocation scores
(3) 並且將最高分的候選詞語當作我們的更正,並與日語學習者文章去做比對是否相同。

對所有文本結構:使用替代短句來創建confusion set,測量文本中短句和被生成的短句的關聯強度(association measure),並且只在文本短句的score較低時標記為錯誤,且把排名較高的替代詞語當成正確

Word Similarity

1
2
3
4
5
6
7
相似度測量用來生成搭配候選詞(collocation candidate),這些搭配候選詞會用關聯度測量去排名。
這裡我們使用三種方法去測量
1. 基於詞庫的相關性 (Thesaurus-based word similarity)
2. 分布相關度 (Distributional similarity)
3. 從學習者的語料庫取出的混亂集 (Confusion set derived from learner corpus)
1和2 都是從與作者相似的詞彙去選出搭配候選詞。
3則是根據學習者語料庫中母語使用者的更正產生候選者。

1. 基於詞庫的相關性 (thesaurus-based word similarity):

檢查兩個字之間是否有相似度(glosses)
也就是檢查兩者的詞庫層次是否接近(距離在某個threshold內)
但召回率通常偏低

2. 分布相關度 (Distributional Similarity):

因為第一種的記憶力很弱且因為是人力定義的沒有考量到短句語意,特別是在verb adj。
因為後選詞集較大,這種方法精準度較低,但召回率還不錯高。
用來判斷“相似”的方法為:看是否有類似的上下文

本文基於語法結構的相依性把context表成vector,ex(object-verb)會找類似的noun verb,
上下文在此時
(Table 2)特定noun+一個verb vector 且對此noun有一定的相關性
(Table 3)特定verb+一個noun vector 且對此verb有一定的相關性

圖中的數字為一起出現的frequency,計算這些一起出現的單字的相似度:
(1)Cosine Similarity
(2)Dice coefficient
(3)KL divergence/relative entropy
(4)Jenson-Shannon divergence
根據這些上下文數字出現的頻率我們可以去計算他們的相似度

3. 從學習者的語料庫取出的混亂集 (Confusion set derived from learner corpus):

為了構建可以“猜測”常見構造錯誤的模塊,我們使用Lang-8語料庫創建了一個混亂集。
不生成與學習者的書面結構具有相似含義的單詞,而是從數據中找到的每個名詞和動詞提取了所有可能的名詞和動詞更正。
(Table 1 第一列)就是寫了suru,但可能他的想法應該是另外一個的其中一個的verb
(Table 1 第二列)就是寫了biru,但可能他的想法應該是另外一個的其中一個的noun

EX: 對日文學習者可能造成的confusion:biru->beer拉長音了,或是語言用法不同

4. Word Association Strength:

根據上述三個相關性產出的候選詞去找出最佳的候選詞,計算最佳相關性分數(association scores)
本文使用
1.Dice coefficient(best measurement)當成associate的量度
2.Pointwise Mutual information
3.log-likelihood
這個過程也基本可以排除偶然產生的單詞對,高分表示關聯性大。

3 模型

實驗分成兩個部分:
一個為動詞替代(verb suggestion)
一個為名詞替代(noum suggestion)

4 資料集

Training set:

1) Bunrui Goi Hyo Thesaurus (The National Institute for Japanese Language, 1964) :
超過10萬單字,3萬多個語意類別,用來計算字的相似度(word similarity),使用在相同子樹的word當candidate,在與leaf距離=2當成預定的tree traversal。
2) Mainichi Shimbun Corpus (Mainichi Newspaper Co., 1991) :
The newspaper data, 用來提取字的元組(noun-を-verb)去計算相似度(Cosine similarity)和他的搭配分數(collocation score)。
224185個pair,16781個unique verbs,37300 unique nouns。
3) Balanced Corpus of Contemporary Written Japanese, BCCWJ Corpus (Maekawa, 2008) :
一億個字彙,雜誌,報紙,教科書和部落格,多類別用以減少學習者差距,提取了接近20萬的名詞-を-動詞,43,243個名詞和18,212個動詞,同樣的會去計算相似度(Cosine similarity)和他的搭配分數(collocation score)。
4) Lang-8 Corpus: Consisted of two year data(2010):
100萬個pairs of corrections and learner’s sentence. 同樣的去計算相似度(Cosine similarity)和他的搭配分數(collocation score),資料有163880 pairs,38999 nouns,16086 verbs,使用第三種方法去創建混亂集。
2011年的資料會被作為測試集

Test set:

  1. Lang-8 (2011 data):
    把Lang-8拿來用,對動詞來說,基於名詞-を-動詞把不正確和正確動詞拿來一起看,當有動詞被相同的動詞糾正(corrected)$\ge 5$次時(by native speakers),對名詞亦然。
    由於我們只使用名詞+動詞,故我們需要刪除上下文的修正,我們使用(Weighted Dice coefficient)去計算所有名詞和動詞的關聯性,過濾掉學習者的結構分數高於校正的結構,動詞有185組測試,名詞有85組。

Evaluation Metrics

我們將系統建議的”分數排序的混亂集的動詞”與Lang-8數據中的人類correction動詞和名詞進行比較:
Match:tp
沒有提供任何有效建議:fn
MRR 最主要是去評估建議清單是否包含人工correction或距離有多遠。

MRR $N = test \ size$
model doesn’t have correction set $MRR = \frac{1}{rank(i)}=0$
Recall rate = $\frac{tp}{tp+fn}$

5 結果

評估指標 : precision, recall, mean reciprocal rank(MRR 平均倒數排名)

主結果使用各式(3種)word similarity 和 Weighted Dice(association)
data set來算word similarity,再來算collocation score(by Weighted Dice)
用2個dataset來算減少learner domain(不同領域文字的) gap
且限制confusion set的size:270$\le$verbs; 160$\le$nouns

動詞的結果:M1 有著高準確率,但是低召回率
為了增加召回率我們創了M2M6,但同時準確率卻下降了。
為了與其他的相似度模型去做比對,我們創建了M7
M10,最高的召回率和MRR都是M10,並且也有不錯的準確率在k=5的時候(k=1的時候還是很差)
名詞的結果:與動詞大致相同,某些現象並未出現在動詞的推薦,這表示只需要簡單的拼寫校正即可,並且對於名詞的選擇更有自信大於動詞的選擇。

最佳 MRR value in Distributional Similarity : Jenson-Shannon divergence.
最佳 recall and MRR值 : M10, confusion set 被 Lang-8 data 生成

6 未來工作

該模型可以直接去使用在其他類型上,例如形容詞-動詞,名詞+授與動詞(ditave-verb)。
改善我們目前的結果,考慮更廣泛的上下文大小和其他類型的構造將是本研究的下一步。

Powered by Hexo and Hexo-theme-hiker

Copyright © 2020 - 2021 DSMI Lab's website All Rights Reserved.

UV : | PV :